<?php
/**
 * Created by PhpStorm.
 * User: hhcyc
 * Date: 2018/4/6
 * Time: 16:03
 */

/**
 * 当前process.php 是主进程
 * 通过这个开启一个子进程
 *
 * 回调函数，第二参数： 启用此选项后，
 *  1：在子进程内输出内容将不是打印屏幕，而是写入到主进程管道。
 *  2：读取键盘输入将变为从管道中读取数据。默认为阻塞读取。
 */
$process = new swoole_process(function (swoole_process $process) {
    // 在终端执行 php http_server.php。在子进程执行http_server.php
    $process->exec("/usr/local/php/bin/php", [__DIR__.'/../03_httpServer/http_server.php']);
    echo "test stdin_stdout \n";
    sleep(20);
},  false);

$pid = $process->start();

echo "pid = {$pid}" . PHP_EOL;

// 等待回收结束运行的子进程。子进程结束必须要执行wait进行回收，否则子进程会变成僵尸进程
swoole_process::wait();